
namespace PolicyAlgebra.Type
{
	///<summary>
	///    This class defines a generic type. It is mainly intended
	///    for use in classes that needed to have a member that
	///    describes the type of the class even further (e.g. an
	///    object [a policy object that is] can, for instance, be
	///    a 'file' or a 'check').
	///</summary>
	public class Type : Commentable
	{ 
		///<summary>
		/// Constructor.
		///</summary>
		public Type() : this("<No type>") {}
		

		///<summary>
		/// Constructor.
		///</summary>
		///<param name="type">Name of the type to represent</param>
		public Type(string type) : base(type) {}

	
		///<summary>
		/// Constructor.
		///</summary>
		///<param name="type">Name of the type to represent</param>
		///<param name="comment">A comment to associate with this type</param>
		public Type(string type, string comment) : base(type, comment) {}
	}
}
